DTD for XSLT
作成日: 1999年09月15日
最終更新日: 1999年11月01日
<!ENTITY % char-instructions "
| xsl:apply-templates
| xsl:call-template
| xsl:apply-imports
| xsl:for-each
| xsl:value-of
| xsl:copy-of
| xsl:number
| xsl:choose
| xsl:if
| xsl:text
| xsl:copy
| xsl:variable
| xsl:message
">
<!ENTITY % instructions "
%char-instructions;
| xsl:pi
| xsl:comment
| xsl:element
| xsl:attribute
| xsl:use
">
<!ENTITY % char-template "
(#PCDATA
%char-instructions;)*
">
<!ENTITY % template "
(#PCDATA
%instructions;
%result-elements;)*
">
<!-- URIである属性値に使用される-->
<!ENTITY % URI "CDATA">
<!-- パターンである属性値に使用される-->
<!ENTITY % pattern "CDATA">
<!-- 式である属性値に使用される-->
<!ENTITY % expr "CDATA">
<!-- 一つの文字から成る属性値に使用される-->
<!ENTITY % char "CDATA">
<!-- 優先度である属性値に使用される -->
<!ENTITY % priority "NMTOKEN">
<!ENTITY % space-att "xml:space (default|preserve) #IMPLIED">
<!ENTITY % top-level "
(xsl:import*,
(xsl:include
| xsl:strip-space
| xsl:preserve-space
| xsl:key
| xsl:functions
| xsl:locale
| xsl:attribute-set
| xsl:variable
| xsl:param-variable
| xsl:template)*)
">
<!ELEMENT xsl:stylesheet %top-level;>
<!ELEMENT xsl:transform %top-level;>
<!ATTLIST xsl:stylesheet
result-ns NMTOKEN #IMPLIED
default-space (preserve|strip) "preserve"
indent-result (yes|no) "no"
id ID #IMPLIED
xmlns:xsl CDATA #FIXED "http://www.w3.org/XSL/Transform/1.0"
%space-att;
>
<!ELEMENT xsl:import EMPTY>
<!ATTLIST xsl:import href %URI; #REQUIRED>
<!ELEMENT xsl:include EMPTY>
<!ATTLIST xsl:include href %URI; #REQUIRED>
<!ELEMENT xsl:strip-space EMPTY>
<!ATTLIST xsl:strip-space elements NMTOKENS #REQUIRED>
<!ELEMENT xsl:preserve-space EMPTY>
<!ATTLIST xsl:preserve-space elements NMTOKENS #REQUIRED>
<!ELEMENT xsl:key EMPTY>
<!ATTLIST xsl:key
name NMTOKEN #REQUIRED
match %tpattern; #REQUIRED
use %expr; #REQUIRED
>
<!ELEMENT xsl:functions (#PCDATA)>
<!ATTLIST xsl:functions
ns NMTOKEN #REQUIRED
code CDATA #IMPLIED
archive CDATA #IMPLIED
>
<!ELEMENT xsl:locale EMPTY>
<!ATTLIST xsl:locale
name NMTOKEN #IMPLIED
decimal-separator %char; "."
grouping-separator %char; ","
infinity CDATA "∞"
minus-sign %char; "-"
NaN CDATA "�"
percent %char; "%"
per-mill %char; "‰"
zero-digit %char; "0"
digit %char; "#"
pattern-separator %char; ";"
>
<!ELEMENT xsl:template
(#PCDATA
%instructions;
%result-elements;
| xsl:param-variable)*
>
<!ATTLIST xsl:template
match %tpattern; #IMPLIED
name NMTOKEN #IMPLIED
priority %priority; #IMPLIED
mode NMTOKEN #IMPLIED
%space-att;
>
<!ELEMENT xsl:value-of EMPTY>
<!ATTLIST xsl:value-of
select %expr; #REQUIRED
>
<!ELEMENT xsl:copy-of EMPTY>
<!ATTLIST xsl:
-of select %expr; #REQUIRED>
<!ELEMENT xsl:umber EMPTY>
<!ATTLIST xsl:number
level (single|multi|any) "single"
count CDATA #IMPLIED
from CDATA #IMPLIED
expr %expr; #IMPLIED
format CDATA '1'
xml:lang NMTOKEN #IMPLIED
letter-value (alphabetic|other) #IMPLIED
digit-group-sep CDATA #IMPLIED
n-digits-per-group NMTOKEN #IMPLIED
sequence-src %URI; #IMPLIED
>
<!ELEMENT xsl:apply-templates (xsl:sort|xsl:param)*>
<!ATTLIST xsl:apply-templates
select %expr; "node()"
mode NMTOKEN #IMPLIED
>
<!ELEMENT xsl:apply-imports EMPTY>
<!-- xsl:sort は他の要素または非空白文字の後に現れることはできない -->
<!ELEMENT xsl:for-each
(#PCDATA
%instructions;
%result-elements;
| xsl:sort)*
>
<!ATTLIST xsl:for-each
select %expr; #REQUIRED
%space-att;
>
<!ELEMENT xsl:sort EMPTY>
<!ATTLIST xsl:sort
select %expr; "."
lang CDATA #IMPLIED
data-type (text|number) "text"
order (ascending|descending) "ascending"
case-order (upper-first|lower-first) #IMPLIED
>
<!ELEMENT xsl:if %template;>
<!ATTLIST xsl:if
test %expr; #REQUIRED
%space-att;
>
<!ELEMENT xsl:choose (xsl:when+, xsl:otherwise?)>
<!ATTLIST xsl:choose %space-att;>
<!ELEMENT xsl:when %template;>
<!ATTLIST xsl:when
test %expr; #REQUIRED
%space-att;
>
<!ELEMENT xsl:otherwise %template;>
<!ATTLIST xsl:otherwise %space-att;>
<!ELEMENT xsl:attribute-set (xsl:attribute|xsl:use)*>
<!ATTLIST xsl:attribute-set
name NMTOKEN #REQUIRED
>
<!ELEMENT xsl:call-template (xsl:param)*>
<!ATTLIST xsl:call-template
name NMTOKEN #REQUIRED
>
<!ELEMENT xsl:param %template;>
<!ATTLIST xsl:param
name NMTOKEN #REQUIRED
expr %expr; #IMPLIED
>
<!ELEMENT xsl:variable %template;>
<!ATTLIST xsl:variable
name NMTOKEN #REQUIRED
expr %expr; #IMPLIED
>
<!ELEMENT xsl:param-variable %template;>
<!ATTLIST xsl:param-variable
name NMTOKEN #REQUIRED
expr %expr; #IMPLIED
>
<!ELEMENT xsl:text (#PCDATA)>
<!ELEMENT xsl:pi %char-template;>
<!ATTLIST xsl:pi
name CDATA #REQUIRED
%space-att;
>
<!ELEMENT < a href=#element#>xsl:element %template;>
<!ATTLIST xsl:element
name CDATA #REQUIRED
namespace CDATA #IMPLIED
%space-att;
>
<!ELEMENT xsl:attribute %char-template;>
<!ATTLIST xsl:attribute
name CDATA #REQUIRED
namespace CDATA #IMPLIED
%space-att;
>
<!ELEMENT xsl:use EMPTY>
<!ATTLIST xsl:use attribute-set NMTOKEN #REQUIRED>
<!ELEMENT xsl:comment %char-template;>
<!ATTLIST xsl:comment %space-att;>
<!ELEMENT xsl:copy %template;>
<!ATTLIST xsl:copy %space-att;>
<!ELEMENT xsl:message %template;>
<!ATTLIST xsl:message %space-att;>